#导包（将接口对象层封装的接口类导入进来）
from api.add_cart import add_cartAPI
from api.litemall_login import LiteLogin

#创建测试类
class Test_add_cart:
    Token=None
    # 前置处理(将第一步导入进来的接口类实例化为一个对象，将登陆产生的token保存为一个类属性)
    def setup_method(self):
        self.cart_api=add_cartAPI() #小括号不要忘记
        self.login_api=LiteLogin()  #将登陆的接口实例化为一个对象
        #通过登录对象调用login方法,拿到完整的登录响应结果，并保存到一个叫resp_l的变量中
        resp_l = self.login_api.login(test_data={"username":"user123","password":"user123"})
        Test_add_cart.Token=resp_l.json().get("data")["token"]
    def teardown_method(self):
        pass
    def test01_sucess(self):
        test_data={
            "goodsId":1181000,
             "number":1,
             "productId":2
        }
        resp_m=self.cart_api.add_cart(token=Test_add_cart.Token,
                                      test_data=test_data)
        assert 200 == resp_m.status_code
        assert 0 ==resp_m.json().get("errno")
        assert '成' in resp_m.text

    def test02_no_goodsid(self):
        test_data={
            "goodsId":"",
             "number":1,
             "productId":2
        }
        resp_m=self.cart_api.add_cart(token=Test_add_cart.Token,
                                      test_data=test_data)
        assert 200 == resp_m.status_code
        assert 401 ==resp_m.json().get("errno")
        assert '不' in resp_m.text

    def test03_no_goodsnum(self):
        test_data={
            "goodsId":1181000,
             "number":0,
             "productId":2
        }
        resp_m=self.cart_api.add_cart(token=Test_add_cart.Token,
                                      test_data=test_data)
        assert 200 == resp_m.status_code
        assert 401 ==resp_m.json().get("errno")
        assert '不' in resp_m.text